package vistas;

import java.util.Observable;
import objetos.ObjetoMovil;
import ar.uba.fi.algo3.titiritero.*;

/*
 * Vista que define las caracter�sticas b�sicas para las vistas de las aeronaves. 
 * Todas las vistas espec�ficas de cada aeronave deben heredear de esta clase.
 */
public abstract class VistaAeronave extends VistaObjetoMovil {

	public VistaAeronave(ObjetoMovil aeronave, ControladorJuego controlador) {
		super(aeronave, controlador);
	}

	@Override
	public void update(Observable objeto, Object args) {
		if (this.getObjeto().estaDestruido()) {
			dibujarExplosion();
			this.removerVistaDeControlador();
		} else {
			this.setearImagen();
		}
	}

	public void dibujarExplosion() {
		VistaExplosion explosion = new VistaExplosion(getObjeto(),
				getControlador());
		getControlador().agregarDibujable(explosion);
	}

	@Override
	public abstract void setearImagen();

}
